// 导入相关的函数/方法/对象
const db = require('../config/db');
// 负责轮播图数据处理
module.exports = {
    // 1. 获取轮播列表
    getBannerList(){
        return new Promise((resolve,reject)=>{
             let sql = 'select * from c_banner';
             db.query(sql)
             .then(
                rows=>{
                    resolve({
                        code: 200,
                        msg: '获取轮播图列表成功。',
                        result: [...rows]
                    })
                }
             )
             .catch(
                err=>{
                    reject({
                        code: -1,
                        msg: '获取轮播图列表失败。',
                        err 
                    })
                }
             )
        })
    },
    // 2. 添加/发布轮播图（中端）
    addBanner(banner_picUrl, banner_href, banner_title){
        // 当前时间
        let date = new Date();
        let banner_create_time = date.toLocaleDateString()+" " + date.toLocaleTimeString();
        return new Promise((resolve,reject)=>{
            let sql = `insert into c_banner(banner_picUrl,banner_href,banner_title,banner_create_time) values('${banner_picUrl}','${banner_href}','${banner_title}','${banner_create_time}')`
            db.query(sql)
            .then(
                rows=>{
                    resolve({
                        code: 200,
                        msg: '添加轮播图成功。'
                    })
                }
            )
            .catch(
                err=>{
                    reject({
                        code: -1,
                        msg: '添加轮播图失败。'
                    })
                }
            )
        })
    },

    // 3. 删除轮播图图 （中端）
    removeBanner(id){
        return new Promise((resolve,reject)=>{
            // 先查询是否存在这条记录
            db.query(`select banner_picUrl from c_banner where id = '${id}'`)
            .then(
                rows=>{
                    // 存在
                    if(rows.length == 1){
                        let picUrl = rows[0].banner_picUrl;
                        db.query(`delete from c_banner where id = '${id}'`)
                        .then(
                            content=>{
                                resolve({
                                    code: 200,
                                    msg: '删除轮播图成功。',
                                    picUrl
                                })
                            }
                        )
                        .catch(error=>{
                            resolve({
                                code: -1,
                                msg: '删除轮播图失败。',
                                error 
                            })
                        })
                    }
                    // 不存在
                    else {
                        resolve({
                            code: -1,
                            msg: '删除轮播图失败。'
                        })
                    }
                }
            )
            .catch(
                err=>{
                    reject({
                        code: -1,
                        msg: '删除图片时，查询失败。',
                        err 
                    })
                }
            )
        })
    },

    // 4. 编辑轮播图（中端）
    editBanner(id,banner_picUrl, banner_href, banner_title){
        return new Promise((resolve,reject)=>{
            db.query(`update c_banner set banner_picUrl= '${banner_picUrl}',banner_href= '${banner_href}',banner_title= '${banner_title}' where  id= '${id}'`)
            .then(
                rows=>{
                    resolve({
                        code: 200,
                        msg: '编辑轮播图成功。'
                    })
                }
            )
            .catch(
                err=>{
                    reject({
                        code: 200,
                        msg: '编辑轮播图失败。',
                        err 
                    })
                }
            )
        })
    }
}